package com.castle.fortress.admin.cms.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 代码生成 表字段 配置表
 *
 * @author castle
 */
@Data
@TableName(value = "cms_col_config")
@ApiModel("表字段配置表")
public class CmsColConfig {
    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty("主键")
    private Long  id;
    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty("模型id")
    private Long  modelId;
    /**
     * 字段标题
     */
    @ApiModelProperty("字段标题")
    private String colTitle;
    /**
     * 字段名 字母数字
     */
    @ApiModelProperty("字段名")
    private String  colName;
    /**
     * 标签引用名
     */
    @ApiModelProperty("标签引用名")
    private String propName;
    /**
     * 字段类型
     */
    @ApiModelProperty("字段类型")
    private String colType;
    /**
     * 属性类型
     */
    @ApiModelProperty("属性类型")
    private String propType;
    /**
     * 是否必填 YesNoEnum
     */
    @ApiModelProperty("是否表单必填")
    private Integer isFormRequire;
    /**
     * 自定义校验类型 ValidateTypeEnum
     */
    @ApiModelProperty("自定义校验类型")
    private Integer validateType;
    /**
     * 自定义校验类型名称 ValidateTypeEnum
     */
    @ApiModelProperty("自定义校验类型名称")
    @TableField(exist = false)
    private String validateTypeName;
    /**
     * 表单类型
     */
    @ApiModelProperty("表单类型")
    private Integer formType;
    /**
     * 集合数据配置
     */
    @ApiModelProperty("集合数据配置")
    private String listdataConfig;

}
